package com.gree.flowable.app.services;

import com.gree.flowable.app.pojo.ex.FormInfoExModelArr;
import com.gree.flowable.app.pojo.form.FormInfo;
import com.gree.flowable.app.pojo.form.FormModel;
import com.gree.flowable.app.pojo.model.PagerModel;
import com.gree.flowable.app.pojo.model.Query;
import com.gree.flowable.app.pojo.to.FormTO;
import com.gree.flowable.app.pojo.to.QueryFormInfoTO;
import com.gree.flowable.app.pojo.vo.ReturnVO;

import java.util.List;

/**
 * @author ：180849
 * @date ：Created in 2021/3/30 16:44
 * @description：表单信息
 * @modified By：
 * @version: 1.0
 */
public interface IFormInfoService {


    Integer addFormInfo(FormTO formTO);

    /**
     * 添加自定义的表单
     * @param FormInfo    自定义表单信息
     * @return            插入成功的条数
     */
    Boolean addFormInfoForString(FormInfo FormInfo);

    /**
     * 根据id查找表单信息
     * @param formId    表单id
     * @return          表单的所有信息
     */
    FormInfo queryFormById(String formId);

    /**
     * 删除表单模型
     * @param formId    表单id
     * @return          删除的条数
     */
    Integer deleteFormInfo(String formId);

    /**
     * 分页模糊查询表单模型
     * @param params    查询参数
     * @param query     分页参数
     * @return          查询出的列表
     */
    PagerModel<FormInfo> queryFormList(QueryFormInfoTO params, Query query);

    ReturnVO saveModel(FormInfoExModelArr params);

    /**
     * 获取所有表单项
     * @param formId    表单id
     * @return
     */
    ReturnVO<List<FormModel>> getFormFieldByFormId(String formId);

    List<FormModel> queryTableById(String formId);
}
